package com.yk.course.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yk.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yk.common.annotation.Excel;

/**
 * 课程详情学生对象 course_period_child
 * 
 * @author xufei
 * @date 2025-05-03
 */
@Data
public class CoursePeriodChild extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    private Long periodId;
    /** 课程id */
    @Excel(name = "课程名称")
    private String infoName;
    @Excel(name = "课程编码")
    private String infoCode;

    @Excel(name = "教师")
    private String teacherName;
    private Long teacherId;
    /** 课程节次 */
    @Excel(name = "课程节次")
    private Integer courseNum;
    /** 课程日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "课程日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date periodDate;
    @Excel(name = "课程分类")
    private String infoType;
    private Long typeId;

    /** 学生id */
    @Excel(name = "学生名称")
    private String childName;
    @Excel(name = "家长名称")
    private String parentName;
    private Long childId;
    private Long parentId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 教师点评 */
    @Excel(name = "教师点评")
    private String teacherAssess;

    /** 家长评价 */
    @Excel(name = "家长评价")
    private String parentAssess;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("periodId", getPeriodId())
            .append("childId", getChildId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("teacherAssess", getTeacherAssess())
            .append("parentAssess", getParentAssess())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
